package com.lanou3g.code0424;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/**
 * Created by dllo on 18/4/24.
 */
public class Main {
    public static void main(String[] args) {
        /*
        HashMap 是一种Key-Value(K-v)的数据模型
        可以把它理解为一个数组,只不过下标可以是任意的数据类型
        要想取Map中储存的Value,只能够通过Key来取
        对于一个Map来说,它当中的Key是不能够重复的
        一个Key必须对应一个确定的值,但是 值是可以重复的

        如果向map中 放入了 已有的Key,就会把之前的K-V覆盖
        Map中的key,value都可以是null

        如果想要获取一个Map中所有的数据,但是又不知道里面有什么Key
        那么,可以先通过keySet方法 去获取一个所有key的集合
        再遍历这个集合,取出每一个key,就可以通过key来取value

        hashmap是线程不安全的

         */

        Map<String, String> map = new HashMap<>();

        map.put("username", "aaa");
        map.put("pwd", "Aa123456");
        map.put("aaa", null);
        map.put(null, "bbb");

        Set<String> strings = map.keySet();
        for (String string : strings) {
            String value = map.get(string);
            System.out.println(value);
        }


//        Map<Integer, String> map = new HashMap<>();
//        map.put(0, "张三");
//        map.put(1, "李四");
//        System.out.println(map.get(0));
//        System.out.println(map.get(1));


//        Set<String> strings = new HashSet<>();
//        strings.add("aaa");
//        strings.add(null);
//        strings.add(null);
//        for (String string : strings) {
//            System.out.println(string);
//        }
//        System.out.println(strings.size());
    }
}
